/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   Module Name          : com.yaodian100.crm.cs.entity.Bulletin
   Module Description   :

   Date Created      : 2010/1/26
   Original Author   : andy.chuang
   Team              : yaodian100
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   MODIFICATION HISTORY
   ------------------------------------------------------------------------------
   Date Modified       Modified by       Comments
   ------------------------------------------------------------------------------
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
package com.yaodian100.crm.cs.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.yaodian100.core.common.entity.BaseEntity;
import com.yaodian100.core.common.entity.CommonEntity;

/**
 * @author andy.chuang
 *
 */
@Entity
@Table(name="CRM_BULLETIN")
public class Bulletin extends CommonEntity{
    public enum KNOWN_STATUS{
	init(0), processing(1), done(2);
	private KNOWN_STATUS(int i){
	    this.value=i;
	}
	private int value;
	public int value(){
	    return value;
	}
    }
    private Long id;
    private Date occurDate;
    private Date announceDate;
    private Date expectFixDate;
    private Date solvedDate;
    private String type;
    private String reason;
    private String effectedService;
    private String realReason;
    private String effectScope;
    private String knownDescription;
    private Integer knownStatus;
    private String name;
    /**
     * @return the name
     */
    @Column(length=200)
    public String getName() {
        return name;
    }
    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }
    /**
     * @return the id
     */
    @Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "seq_crm_bulletin")
	@SequenceGenerator(name = "seq_crm_bulletin", sequenceName = "SEQ_CRM_BULLETIN")
	@Column(name = "WORK_ORDER_ID")
    public Long getId() {
        return id;
    }
    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }
    /**
     * @return the occurDate
     */
    public Date getOccurDate() {
        return occurDate;
    }
    /**
     * @param occurDate the occurDate to set
     */
    public void setOccurDate(Date occurDate) {
        this.occurDate = occurDate;
    }
    /**
     * @return the announceDate
     */
    public Date getAnnounceDate() {
        return announceDate;
    }
    /**
     * @param announceDate the announceDate to set
     */
    public void setAnnounceDate(Date announceDate) {
        this.announceDate = announceDate;
    }
    /**
     * @return the expectFixDate
     */
    public Date getExpectFixDate() {
        return expectFixDate;
    }
    /**
     * @param expectFixDate the expectFixDate to set
     */
    public void setExpectFixDate(Date expectFixDate) {
        this.expectFixDate = expectFixDate;
    }
    /**
     * @return the solvedDate
     */
    public Date getSolvedDate() {
        return solvedDate;
    }
    /**
     * @param solvedDate the solvedDate to set
     */
    public void setSolvedDate(Date solvedDate) {
        this.solvedDate = solvedDate;
    }
    /**
     * @return the type
     */
    @Column(length=20)
    public String getType() {
        return type;
    }
    /**
     * @param type the type to set
     */
    public void setType(String type) {
        this.type = type;
    }
    /**
     * @return the reason
     */
    @Column(length=500)
    public String getReason() {
        return reason;
    }
    /**
     * @param reason the reason to set
     */
    public void setReason(String reason) {
        this.reason = reason;
    }
    /**
     * @return the effectedService
     */
    @Column(length=500)
    public String getEffectedService() {
        return effectedService;
    }
    /**
     * @param effectedService the effectedService to set
     */
    public void setEffectedService(String effectedService) {
        this.effectedService = effectedService;
    }
    /**
     * @return the realReason
     */
    @Column(length=500)
    public String getRealReason() {
        return realReason;
    }
    /**
     * @param realReason the realReason to set
     */
    public void setRealReason(String realReason) {
        this.realReason = realReason;
    }
    /**
     * @return the effectScope
     */
    @Column(length=500)
    public String getEffectScope() {
        return effectScope;
    }
    /**
     * @param effectScope the effectScope to set
     */
    public void setEffectScope(String effectScope) {
        this.effectScope = effectScope;
    }
    /**
     * @return the knownDescription
     */
    @Column(length=500)
    public String getKnownDescription() {
        return knownDescription;
    }
    /**
     * @param knownDescription the knownDescription to set
     */
    public void setKnownDescription(String knownDescription) {
        this.knownDescription = knownDescription;
    }
    /**
     * @return the knownStatus
     */
    public Integer getKnownStatus() {
        return knownStatus;
    }
    /**
     * @param knownStatus the knownStatus to set
     */
    public void setKnownStatus(Integer knownStatus) {
        this.knownStatus = knownStatus;
    }
}
